package models;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import play.db.jpa.GenericModel;

@Entity
@Table(name="aposta")
public class Aposta extends GenericModel {

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int id;
	
	private double valor;
	
	private Date data;
	
	@ManyToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="id_cliente")
	private Cliente cliente;

	@ManyToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="id_partida")
	private Partida partida;

	@OneToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="id_resultado")
	private Resultado resultado;

	public Aposta() {
		super();
	}

	public Aposta(Cliente cliente, double valor, Partida partida,
			Resultado resultado) {
		super();
		this.cliente = cliente;
		this.valor = valor;
		this.partida = partida;
		this.resultado = resultado;
		this.data = new Date();
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public double getValor() {
		return valor;
	}

	public void setValor(double valor) {
		this.valor = valor;
	}

	public Partida getPartida() {
		return partida;
	}

	public void setPartida(Partida partida) {
		this.partida = partida;
	}

	public Resultado getResultado() {
		return resultado;
	}

	public void setResultado(Resultado resultado) {
		this.resultado = resultado;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}
	
}
